const { pool, testConnection } = require('./config/db');
const { createUser } = require('./models/user');

// 测试数据库连接和写入功能
async function testDatabaseInsert() {
  try {
    console.log('开始测试数据库写入功能...');
    
    // 1. 首先测试数据库连接是否正常
    console.log('测试数据库连接...');
    await testConnection();
    console.log('数据库连接成功！');
    
    // 2. 测试插入用户数据
    console.log('测试插入用户数据...');
    
    // 创建一个测试用户数据
    const testUserData = {
      openid: `test_openid_${Date.now()}`, // 使用时间戳确保唯一性
      nickname: '测试用户' + Math.floor(Math.random() * 1000),
      avatar: 'https://example.com/avatar.jpg'
    };
    
    console.log('要插入的用户数据:', testUserData);
    
    // 调用createUser函数插入数据
    const result = await createUser(testUserData);
    
    console.log('用户数据插入成功！插入结果:', result);
    console.log('恭喜！数据库写入功能正常工作。');
    
  } catch (error) {
    console.error('数据库写入测试失败:', error);
    console.log('错误详情:', error.message);
    console.log('请检查数据库连接配置和用户表结构。');
  } finally {
    // 关闭数据库连接
    if (pool && pool.end) {
      await pool.end();
      console.log('数据库连接已关闭');
    }
  }
}

// 运行测试
console.log('启动数据库写入测试...');
testDatabaseInsert();